package com.cloudkinto.dto.order.amazonV2Shipping;

import lombok.Data;

import java.util.List;

/**
 * @author long
 * @Description /oneClickShipment接口的请求体
 * 当 channelType 不是 Amazon 时，需要 shipTo，当 channelType 为 Amazon shipTo 时，将忽略 shipTo
 * @Date 2025/2/11 15:46
 */
@Data
public class OneClickShipmentRequest {

    /**
     * 收货地址
     */
    private Address shipTo;
    /**
     * 必填
     * 发货地址
     */
    private Address shipFrom;
    /**
     * 返回地址
     */
    private Address returnTo;
    /**
     * 发货日期
     * 发货日期和时间（请求的取件）。默认为当前日期和时间
     */
    private String shipDate;
    /**
     * 必填
     * 包裹列表
     */
    private List<Package> packages;
    /**
     * 要添加到配送服务购买中的增值服务
     */
    private List<OneClickShipmentValueAddedService> valueAddedServicesDetails;
    /**
     * 税务详细信息列表
     */
    private List<TaxDetail> taxDetails;
    /**
     * 必填
     * 货件来源渠道相关信息
     */
    private ChannelDetails channelDetails;
    /**
     * 必填
     * 标签规格
     * 要求的文档规范。对于对 purchaseShipment操作的调用，
     * 如果指定的文档规范不在对 getRates操作的响应中返回的文档规范中，则货件购买将失败
     */
    private RequestedDocumentSpecification labelSpecifications;
    /**
     * 必填
     * 服务选择标准
     */
    private ServiceSelection serviceSelection;

    /**
     * 发件人说明的可选字段
     */
    private ShipperInstruction shipperInstruction;

    /**
     * 接入点详细信息
     */
    private AccessPointDetails destinationAccessPointDetails;
}
